Apparatus for storing and reading out periodic waveforms

ABSTRACT

The present invention is directed to a system for storing and reading out periodic waveshapes. The system utilizes the even and/or odd symmetry of a waveform in such a way that only sample points for one-half of the waveform need be stored in a memory device. When the waveform is read from the memory, the unstored sample points of the second half of the waveform are recreated, using the inherent symmetry of the stored samples of the waveform. The capacity of the memory storage device can then be cut in half, reducing substantially the cost of the system. If the desired periodic waveform is not symmetrical, it is converted into an equivalent waveform having an identical power spectrum but different phasing which created waveform is symmetrical. When such a created waveform is used to activate an audio device, the ear of the listener is unable to discern the difference between the desired waveform and the created one. This invention, therefore, has particular utility in electronic musical instruments.

nited States Patent 11 1 Deutsch et al.

1 1 Oct. 2, 1973 1 APPARATUS FOR STORING AND READING OUT PERIODIC WAVEFORMS [73] Assignee: North American Rockwell Corporation, El Segundo, Calif.

22 Filed: Nov. 26, 1971 211 Appl.No.:202,448

[52] 11.8. C1. 235/152, 84/103, 235/92 EV, 235/197, 340/173 R [51] Int. Cl G101 1/00,G06f 15/34 [58] Field of Search 235/152, 156, 197, 235/92 EV; 340/1725, 173 R, 174.1 H; 179/1 SA, 100.2 MD, 15.55 R; l78/DIG. 3; 84/101,

WAVE SHAPE MEMORY N/Z WORDS (ROM) l9 -2 LI L1 U L MEMORY (COUNTER) ADDRESS Primary Examiner-Joseph F. Ruggiero Attorney-L. Lee Humphries et al.

[57] ABSTRACT The present invention is directed to a system for storing and reading out periodic waveshapes. The system utilizes the even and/or odd symmetry of a waveform in such a way that only sample points for one-half of the waveform need be stored in a memory device. When the waveform is read from the memory, the unstored sample points of the second half of the waveform are recreated, using the inherent symmetry of the stored samples of the waveform. The capacity of the memory storage device can then be cut in half, reducing substantially the cost of the system. If the desired periodic waveform is not symmetrical, it is converted into an equivalent waveform having an identical power spectrum but different phasing which created waveform is symmetrical. When such a created waveform is used to activate an audio device, the ear of the listener is unable to discern the difference between the desired waveform and the created one. This invention, therefore, has particular utility in electronic musical instruments.

10 Claims, 6 Drawing Figures UTLIZATION MEANS GATE #1 GATE #2 PATENTEUUBT 2 m J SHEET EUF 3 UTLIZATION MEANS GATE #4 FIGA INVENTOR RALPH DEUTSCH ROBERT M. ASHBY ATT RNEY 1 APPARATUS FOR STORING ANDREADI'NG OUT PERIODIC WAVE'FORMS BACKGROUND OF THE-INVENTION In U. S. Pat. No. 3,515,792, entitled DigitalOrgan,

by Ralph Deutsch, one of the co-inventors of the present invention, there is disclosed a -di'gital electronic organ wherein a digitalrepresentation of an organpipe waveshape is stored in 'amemory. By selectively addressing the memory, the stored digitized waveshape is read out repetitiously at a desired frequency, and converted to an analog waveshape toproduce amusical note corresponding to an organ pipe waveshape. The digital representations of the Waveshape 'are'takenfrom sample points along one complete cycleof the organ pipe waveshape. In other word, if there'are n'sample points making up the entire wave period, there isrequired to be at leastn storage points in the memory in order to reproduce the original waveshape with a sufficient resolution such that the ear does not notice the difference between the played reproduced note and the original desired note.

Analysis of the desired organ pipe waveshapes indicates that a waveshape can be created which waveshape will have an even or odd symmetry. The created waveshape is derived with the same power spectral components as the original waveshape. In .so creating this new waveshape, the relative phases of the har monic components of the original waveshape are changed. The human ear is insensitive to the change in phases as long as the power spectral content of the formedwave remains the same.

SUMMARY OF THE INVENTION The present invention includes a'memory means for storing equally spaced samples of one-half cycle of a symmetrical waveform. The memory is addressed :and read out such that the waveform is recreated by reading the memory in one direction up tothe halfway point of the desired wave period and then reading the memory in the opposite direction so that the second half of the wave is completed. Prior to storage, the original waveshape corresponding to the desired voice is analyzed spectrally and, by taking the Fourier transformationof the spectral power content of the desired wave, a symmetrical waveform can be created, which recreated wave will differ only from the original wave by the phase relations of the harmonics. Means are provided foraddressing the memory first in one directionthen in an opposite direction. Readout means connected to the output of the memory receive thea'ddresse'd outputs of the memory and change the sign of the outputs when the memory isaddressed in the opposite directionif the symmetrical wave has an odd symmetry. If the wave is of even symmetry, the change in sign-is not required.

Accordingly, it is a principal object ofthe present invention to provide a system forstoring samples of onehalf cycle of a desired symmetrical waveshape and for I reading out the stored .samples of the waveshape so as to create a full cycle of the waveshape.

It is a further object of the present invention to provide a means for decreasing by half the storage requirements' of a memory.

It is a further object of thepresent invention to provide an improved method and apparatus for'storing and reading out waveforms.

These and otherobjects of thepresent invention will become more apparent when taken in'conjunction with "thefollowing-description and drawings wherein like characters indicate like componentsand which drawings form a part of this application.

BRIEF DESCRIPTION OF THE DRAWINGS FIG. ll is a waveform of a musical instrument; "FIG. 2 is a graph depicting theharmonic content of the waveformof FIG. 1;

FIG. Bis a graph illustrating a symmetrical waveform having the identical harmonic contentas the waveform of'FlG. 1;

FIG. 4 illustrates in block diagram form one preferred embodiment of the invention; ane

:FIG.5 illustrates inblock diagram form a second preferred embodiment of the invention; and

FIG. 6is a waveform useful in showing the spacing relationship for anodd-symmetry amplitude system in which thenumber of samples for each half cycle are made equal.

DESCRIPTION OF THE PREFERRED EMBODIMENT The present invention may be used to effectively store any .periodic type waveform of zero D.C. value which waveform is later to be used to power an audio device. Using the method and system of the present invention, the listener will be unable to distinguish between the true -waveshape.and the recreated waveshape.

.In FIG. 1 there is shown, by way of example, the original periodic waveshape of an oboe. Using the Fourier seriestheory, any periodic waveform can be analyzed as aseries of harmonics of the repetition frequency. The signal will have varying amplitude and phases, the exact variations depending upon the shape of 'the'waveform. For example, the oboe signal of FIG. 11, designated X(t).can.be written. in a Fourierseriesas follows:

where the term B is a d-c term which is defined as follows, and for our case, ideally is zero:

The period of the wave is defined as T; and B, and A are defined as:

wherein m 21r/T The cosine terms of Equation (1) define the even terms and the sine terms define the odd terms The spectral power components P,(n) of X(t) for the n" harmonic are defined by the formula:

P,(n) A, B, Eq.'(5) Equation in combination with equation (1), can then be used to create an odd or even symmetry waveform which has the same spectral power content as the original waveform.

The created waveform will be designated X' (t) where the e denotes the waveform has an even symmetry and where X' (t) is defined as:

X, (t) :2 a cos nwt wherein a,,= V P (n) FIG. 2 illustrates the spectral power content of the waveform X(t) defined by equation (5).

FIG. 3 illustrates the equivalent created waveform X' (t) having the same power spectrum as depicted in FIG. 2.

The waveform X' (t) is symmetrical around the onehalf cycle point, and to the human car will sound identical to the waveform X(t). The phase difference between these two waveforms cannot be detected by the human ear. Once the particular waveform of FIG. 3 is generated, it is converted into sample amplitude signals. Each amplitude sample can then be converted into a digital word or analog quantity. The word or quantity is then stored in a waveshape memory.

FIG. 4 illustrates one preferred embodiment of the invention for implementing the above equations in digital form wherein the waveshape memory may be a read only memory of the type disclosed by R. M. Ashby et al. in U. S. Pat. No. 3,377,513, issued Apr. 9, 1968. The memory should have a capacity for storing at least N/2 words, where the value N is the number of sample points in one complete cycle of a waveform. The memory contains digital data in a plurality of discrete locations identified by respective addresses. The memory is addressed at a rate which depends upon the desired spacing between data from the various locations as it is sequentially read from the memory. The data constitutes amplitude values of a complex waveform of the type produced by a musical instrument at equally spaced points in time along an axis of the waveform. The memory can be of the analog type or the type which produces the desired word or quantity without actually storing the word or quantity. It is only necessary that the representation of the sampled amplitude be available for readout. The memory 10 is connected to be addressed from counter 12. Counter 12 provides an output signal sequentially on N/2 lines. When a count is provided on line 2, for example, no other line is providing an output signal. Each individual address of the waveshape memory is connected to a corresponding output of the memory address counter such that count 1 of the counter goes to address 1 of the waveshapememory; count 2 goes to address 2; count 3 goes to address 3 etc. up to the N/2 count going to waveshape memory address N/2. In some applications, it may be desirable to install an address decoder between the outputs of the counter 10 and the address locations of the memory. The mechanization and connection of. the decoder is well known within the state of the art and is not shown for simplicity. The next output' corresponding to the count (N/2 )+l from the memory address counter-is connected back to the N/2 line from the counter so that the next count N/2+'l repeats the address of the lastcount. Each of the succeeding lines (N/2+l to N is connected back to the preceding address lines (N/2)l to 1, respectively, in a symmetrical manner such that the N" line is connected to the first counter address line etc. This particular feature addresses the waveshape memory in a first direction from locations 1 to N/2 and then back again from N/2 to l in an opposite direction. An input line 18 is connected to the counter 12 and on this line there is provided a pulse train 19 of a selected frequency. Each pulse in pulse train 19 advances the memory address one count. Therefore, by controlling the number of pulses per given unit of time, i.e., the pulse rate, the rate at which the memory is scanned can be varied which, in turn, varies the frequency of the readout waveform. The waveform stored in the memory can thus be read out at a cyclic repetition rate determined by different notes of the musical scale simply by having a key, such as an organ key, actuate a source of pulses of a respectively corresponding repetition rate which are then fed to the memory address counter 12. A flipflop 13 receives as inputs the 1 count signal from counter 12, on line 22, and the (N/2)+1 count on line 23 from memory address counter 12. The flip-flop 13 has one output line 20 connected to the on terminal of gate 14 and to the off terminal of gate 15.

Flip-flop 25 receives as inputs the 1 count and the (N/2)+1 count from the memory address counter. Flipflop 25 has one output line 21 connected to the on terminal of gate 15 and to the off terminal of gate 14. In operation, when a pulse is received on the 1 count stage of memory address 12, that pulse is also fed on line 22 to set flip-flop 13, the output of which is then fed along line 20 to turn gate 14 on so as to pass the signals present at the outputs of waveshape memory 10. Simultaneously, gate 15 is turned off. The output digital word, upon passing through gate 14 is fed to an OR gate 17. When the N/2+1 count pulse is sent to flip-flop 25, flipflop 25 provides an output signal on line 21 which output signal turns gate 15 on and gate 14 off.

The output signals from gate 15 are fed to a 2s complementor 16 which effectively applies a negative polarity to the signals on its input. The output of complementor 16 is then fed to the OR gate 17. The output of OR gate 17 is fed to a utilization means 30. In one preferred embodiment, the utilization means comprises a D to A convertor and a means for creating sounds from the analog signals. The system of FIG. 4 operates to read out one-half of the symmetrical waveform in accordance with the stored samples in locations 1 to N/2 and to then apply a negative polarity to the sample signals that are read out from locations N/2 to 1, such that the output of the system is the total wave comprised of its two symmetrical halves. The frequency of the read out wave can be varied simply by varying the pulse repetition rate of the pulse train 19.

If the waveshape stored in memory 10 is of even symmetry, then flip-flops 13 and 25, gates 14 and 15 and complementor 16, along with OR gate 17 are omitted from the system. For an even symmetrical waveform, it is not necessary to reverse the polarity of the second half cycle of the wave. It is only necessary that the memory be read in the first direction and then in a second direction opposite to the first one.

Referring now to FIG. 5 wherein there is shown a second embodiment of the invention utilizing an up-down counter 35 ofthe type which counts from 1 sequentially through to a value N/2 and then counts down again sequentially to the value 1 without repeating the 1 or N/2 count. The rate at which the counter counts is determined by an input command signal 19. The input command signal 19, which is a train of pulses, is fed into the up-down counter on line 18. Each count stage of the counter is connected to a corresponding address location within the waveshape memory 110, so that when, for example, an output appears on the line designated l at the counter output and the waveshape memory input, the digital word stored in the memory at that particular loction is made available at the output of the memory. This digital word is then fed to gates 14 and 115. Gate 14 is turned on by the presence ofa count on stage ll of counter 35 and gate 15 is turned off by the same count. Gate 115 is turnedon by the count on stage N/2 of counter 35 and gate 14 is turned off by the same count. When gate 14 is on, the output word from memory llili is fed directly to the OR gate 17 and from there to the utilization means 30. When gate 15 is on, the output word from memory 10 is fed to the complementor 16 which inverts the polarity of the word before feeding it to the utilization means 30.

FIG. 6 illustrates one possible waveform 40 having an odd-symmetry. If the memory address counters l2 and 35 used in the implementation of this invention are of the type that do not repeat the count in the first and last atages before starting the up or down count, respectively, then the sampling displayed by the integer numbers can be used. At each sample point, the amplitude of the waveform, as shown in dotted lines, is converted into a digital word and stored in the memory. The reason for this can be clearly shown around the zero transition point of the wave at the twelfth sampling point; for example, the memory is addressed for the amplitude sample 11, next sample 12. If the countei were of the type that started down counting by repeating the last stage count, then the next address would again read out sample 12. Two sample 12's would create an error in the output waveform, therefore, the next sample must be equal to the sample 111 but reversed in sign.

if we take the condition where the counters used to address repeat the count for the first and last stages, respectively, then the fractional sample points (solid lines) are used. The solid line samples are symmetrical about the point of symmetry (in this case, point 112). Repeating of the first and last count, therefore, does not create any errors in the output waveform.

The important property of using odd symmetry with sign reversal is that the average value of the waveshape is automatically maintained accurately at a zero value. This property of maintaining a zero average value is absolutely essential in a musical instrument system in which the amplitude increments are stored rather than theamplitudes themselves. A simple example will illustrate the problem. Suppose the waveshape amplitudes for one period are the values C .,C,,. For illustrative convenience let us assume that either C 0 or the amplitudes have been scaled so that this condition has been met. The corresponding amplitude increments are n C1 n n By adding each increment as it is read to the sum of the preceding increments, one obtains the wave shape amplitude for that point. Note that The sensitive observation is that in an amplitude increment system the sum of the increments must be zero. Suppose because of some error (accidental, computer roundoff, etc) that the sum of the increments does not vanish but instead is equal to some nonzero value B. Each time the wave shape is reconstructed from the increments a new multiple of B will be added to the average value. This accumulation of the average value is disastrous in a digital organ system because it will gradually shift the waveshape variations beyond the dynamic range of the digital-to-analog converter.

lf odd wave shape symmetry is used to store one-half of the wave shape, the problem of an accumulating average value is eliminated. Each incremental amplitude is read twice per period each time with opposite signs. Any errors are thus automatically inhibited from disturbing the desired zero average value.

While there has been shown what is considered to be the preferredembodiment of the invention, it will be manifest that many changes and modifictions may be made therein without departing from the essential spirit of the invention. It is intended, therefore, in the annexed claims, to cover all such changes and modifications as fall within the true scope of the invention.

We claim:

1. Apparatus for creating periodic waveshapes comprising in combination:

means for providing representation of sampled amplitude values of one-half cycle of a symmetrical waveform;

utilization means; and I means for addressing said providing means to feed said representations of sampled amplitude values to said utilization means in a first order and then for addressing said providing means to feed said representations of sampled amplitude values to said utilization means in a second order opposite to said first order.

2. The apparatus according to claim 1 wherein said addressing means addresses said providing means at selected rates to control the frequency of said periodic waveshape.

3. The apparatus according to claim l and further comprising:

means interposed between the output of said providing means and the input of said utilization means for reversing the polarity of the provided representations of sampled amplitude values for said second order of said addressing means.

4. Apparatus for storing and reading periodic waveshapes comprising in combination:

a memory for storing representations of sampled amplitude values of one-half cycle of an odd symmetrical waveform;

means for addressing said memory in a first direction to read out said representations of stored amplitude values in a first order and for then addressing said memory in a second direction to read out said representations of stored amplitude values in a second order opposite to said first order;

utilization means;

first gate means for receiving the output from said memory and for feeding said output to said utilization means when said addressing means is operating in saidfirst direction and for inhibiting said output when said addressing means is operating in said second direction;

second gate means for receiving the output from said memory and for passing said output when said addressing means is operating in said second direction and for inhibiting said output when said addressing means is operating in said first direction; and

complementary means for receiving the output of said second gate means and for inverting said output and for feeding said inverted signal to said utilizing means so as to complete one cycle of the symmetrical waveform.

5. Apparatus for storing and reading periodic waveshapes comprising in combination:

a memory for storing values corresponding to representations of amplitude samples of one-half of a cycle of a symmetrical waveform;

means for addressing said memory in a first direction to read out the representations corresponding to the amplitude samples of the first half cycle of said symmetrical waveform;

means for addressing said memory in a second direction opposite to said first direction to read out the representations corresponding to the amplitude samples of said first half cycle of said symmetrical waveform; and

means for reversing the polarity of the representations read out in the second direction so as to form the complete cycle of the desired waveform.

6. Apparatus for storing and reading periodic waveshapes comprising in combination:

a memory for storing representations of sampled amplitude values of one-half cycle of a symmetrical waveform;

means for addressing said memory in a first direction to read out said representations of stored amplitude values in a first order and for then addressing said memory in a second direction to read out said representations of stored amplitude values in a second order opposite to said first order; and

utilization means for receiving the outputs from said memory means.

7. The apparatus according to claim 6 wherein said means for addressing is comprised of an up-down counter, the individual output stages of which are connected to corresponding storage positions in said memory; and

an input control signal for commanding said up-down counter to count at a rate determined by said control signal so as to cause said up-down counter to address said memory in a first direction as the counter counts up and to cause said up-down counter to address said memory in an opposite direction as the counter counts down.

8. The apparatus according to claim 6 wherein said means for addressing said memory is comprised of a counter having a count capability which is at least twice the number of stored values in said memory wherein said counter is connected to said memory such that the first half of said counter addresses said memory in a first direction and the second half of said counter addresses said memory in an opposite direction.

9. The apparatus according to claim 6 and further comprising:

means interposed between the output of said memory and the input of said utilization means for reversing the polarity of the stored representations of sample amplitude values for one direction of said memory readout when the waveform stored in said memory is of odd symmetry.

10. The apparatus according to claim 6 wherein said representations of stored sampled amplitudes are digital words corresponding to the amplitude increments of said waveform at the successive sample points, 

1. Apparatus for creating periodic waveshapes comprising in combination: means for providing representation of sampled amplitude values of one-half cycle of a symmetrical waveform; utilization means; and means for addressing said providing means to feed said representations of sampled amplitude values tO said utilization means in a first order and then for addressing said providing means to feed said representations of sampled amplitude values to said utilization means in a second order opposite to said first order.
 2. The apparatus according to claim 1 wherein said addressing means addresses said providing means at selected rates to control the frequency of said periodic waveshape.
 3. The apparatus according to claim 1 and further comprising: means interposed between the output of said providing means and the input of said utilization means for reversing the polarity of the provided representations of sampled amplitude values for said second order of said addressing means.
 4. Apparatus for storing and reading periodic waveshapes comprising in combination: a memory for storing representations of sampled amplitude values of one-half cycle of an odd symmetrical waveform; means for addressing said memory in a first direction to read out said representations of stored amplitude values in a first order and for then addressing said memory in a second direction to read out said representations of stored amplitude values in a second order opposite to said first order; utilization means; first gate means for receiving the output from said memory and for feeding said output to said utilization means when said addressing means is operating in said first direction and for inhibiting said output when said addressing means is operating in said second direction; second gate means for receiving the output from said memory and for passing said output when said addressing means is operating in said second direction and for inhibiting said output when said addressing means is operating in said first direction; and complementary means for receiving the output of said second gate means and for inverting said output and for feeding said inverted signal to said utilizing means so as to complete one cycle of the symmetrical waveform.
 5. Apparatus for storing and reading periodic waveshapes comprising in combination: a memory for storing values corresponding to representations of amplitude samples of one-half of a cycle of a symmetrical waveform; means for addressing said memory in a first direction to read out the representations corresponding to the amplitude samples of the first half cycle of said symmetrical waveform; means for addressing said memory in a second direction opposite to said first direction to read out the representations corresponding to the amplitude samples of said first half cycle of said symmetrical waveform; and means for reversing the polarity of the representations read out in the second direction so as to form the complete cycle of the desired waveform.
 6. Apparatus for storing and reading periodic waveshapes comprising in combination: a memory for storing representations of sampled amplitude values of one-half cycle of a symmetrical waveform; means for addressing said memory in a first direction to read out said representations of stored amplitude values in a first order and for then addressing said memory in a second direction to read out said representations of stored amplitude values in a second order opposite to said first order; and utilization means for receiving the outputs from said memory means.
 7. The apparatus according to claim 6 wherein said means for addressing is comprised of an up-down counter, the individual output stages of which are connected to corresponding storage positions in said memory; and an input control signal for commanding said up-down counter to count at a rate determined by said control signal so as to cause said up-down counter to address said memory in a first direction as the counter counts up and to cause said up-down counter to address said memory in an opposite direction as the counter counts down.
 8. The apparatus according to claim 6 wherein said means for addressing said memory is comprised of a counter having a count capabiLity which is at least twice the number of stored values in said memory wherein said counter is connected to said memory such that the first half of said counter addresses said memory in a first direction and the second half of said counter addresses said memory in an opposite direction.
 9. The apparatus according to claim 6 and further comprising: means interposed between the output of said memory and the input of said utilization means for reversing the polarity of the stored representations of sample amplitude values for one direction of said memory readout when the waveform stored in said memory is of odd symmetry.
 10. The apparatus according to claim 6 wherein said representations of stored sampled amplitudes are digital words corresponding to the amplitude increments of said waveform at the successive sample points. 